home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / comm / fido / login_034.lzh / login.man < prev    next >
Text File  |  1993-02-18  |  16KB  |  397 lines

  1.  
  2.                         Exerpt from Welmat Users Manual         Login V0.20
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.                                      ›1mLogin 
  23.  
  24.                      ›0mThe LOGIN program for use with Welmat 
  25.                             By Russell W. McOrmond.  
  26.                        No warrantee expressed or implied.  
  27.                   Free Software Foundation Copyleft applies.  
  28.                               All rights reserved 
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                                       -1-
  66.  
  67.  
  68.                         Exerpt from Welmat Users Manual         Login V0.20
  69.  
  70.  
  71.  
  72.  
  73.      ›1mBBS and other Logins 
  74.  
  75.  
  76.  
  77.                ›0mWelmat  currently  uses  two  different ways to allow a
  78.           Bulletin Board to be ran when Welmat answers the phone.   In
  79.           this  mode,  Welmat  would be considered a Front End mailer,
  80.           and acts as a negotiater  to  determin  whether  the  caller
  81.           wishes to use Fidonet, or whether it is a caller that wishes
  82.           to  use  the  BBS. Each method requires two keywords: One to
  83.           turn  the  function  on,  and  another  to   set   up   it's
  84.           parameters.   These  keywords  are  all  part  of  the modem
  85.           configuration section  (IE:  They  are  placed  between  the
  86.           Modem/ModemEnd  keywords)  and  are  specific  to a specific
  87.           line.  Please also note that one could very easily use  both
  88.           methods at the same time, ulthough if you have the LOGIN set
  89.           up,  it  would be easiest to just have the BBS set up as one
  90.           of the accounts for the LOGIN.  
  91.  
  92.  
  93.                The first method is the most familiar method.   When  a
  94.           user  calls,  he  can  be instructed to hit his <ESCAPE> key
  95.           twice to enter the BBS. If this is the method that you  wish
  96.           to use, you would enter the following keywords: 
  97.  
  98.                  YesBBS 
  99.                  BBSExecute <Command to run> 
  100.  
  101.  
  102.                  YesBBS  is a flag that lets welmat know that you wish
  103.             to use the BBSExecute command, and wish  welmat  to  check
  104.             for the  ›3mescape ›0mkey to be pressed.  The escape key must be
  105.             hit twice consecutively (IE: No other keys in between) for
  106.             this action to be taken.  This  avoids  possible  problems
  107.             with line  noise.    The  BBSExecute  keyword  sets up the
  108.             command that will be run when the user types in the escape
  109.             key.  Many different '%' style substitutions are possible,
  110.             and these are all outlines in the  section  'SmartRun'  as
  111.             they are  common  to  the  entire  of  Welmat.    With the
  112.             BBSExecute, Welmat  will  automatically  hang  up  on  the
  113.             caller and wait for the next call.  Here is an example: 
  114.  
  115.                  YesBBS 
  116.                  BBSExecute "bbs -B%B -b%b -d%d -u%u" 
  117.             This    would    execute    "BBS    -B<Modem-Modem   Baud>
  118.             -b<computer-Modem baud> -d<device> -u<unit>" when the user
  119.             hits the escape key.  This is the method used by  quite  a
  120.             few BBS's.  
  121.  
  122.                  Remember that  this  is  line  specific.   If you are
  123.             running your BBS on more than one  phone  line,  you  will
  124.             want  to specify eithor the line number, or the device and
  125.             unit for the particular line.  If  you  run  a  multi-line
  126.             Welmat  system,  but  run a single-line BBS it is your own
  127.             responsibility to make sure that  things  only  run  on  a
  128.             single line.  
  129.  
  130.  
  131.                                       -2-
  132.  
  133.  
  134.                         Exerpt from Welmat Users Manual         Login V0.20
  135.  
  136.  
  137.  
  138.  
  139.                  The  second  way to deal with callers would be to use
  140.             the Unix-Like GETTY function of Welmat. Under unix,  there
  141.             is a command called 'Getty' (Get TTY) which will basically
  142.             answer  an  incoming  call, send them a simple banner, and
  143.             collect a single line of input.  This line of  text  would
  144.             then  be  sent  to  a  program  called  'Login'. The login
  145.             command would then ask for a password  (If  required)  and
  146.             eithor allow the user access to the system, or return back
  147.             to  the  GETTY  to  have  the user type in their user name
  148.             again.  Since the Login program can return more than once,
  149.             the existance of a carrier, or a return result code  of  0
  150.             is used to determin whether Welmat should wait for another
  151.             call, or should present the caller with the banner.  It is
  152.             then  partly  the  responsibility  of the Login program to
  153.             hang up after a successful call.  
  154.  
  155.                  Welmat has a function  that  does  exactly  the  same
  156.             thing,  and I myself have implemented a login program that
  157.             is a derivative of the 'GETTY' program that  was  supplied
  158.             with Matt  Dillon's  UUCP  package.    After answering the
  159.             call, Welmat  will  be  listening  for  characters  to  be
  160.             received  from  the  Modem. If a YoHoo (Fidonet) or TSYNCH
  161.             (FTS-0001 session) is received, it will do a session  with
  162.             the mailer.    If  an  Escape  is  received, and YesBBS is
  163.             active, the  BBS  will  be  ran.    All  other   printable
  164.             characters are accepted, and put into a Line buffer.  When
  165.             the  user then hits return, Welmat will then run the Login
  166.             command, and one of the arguments will  be  this  line  of
  167.             input that  the  user  had  typed  in.    Here would be an
  168.             example of the commands required: 
  169.  
  170.                  WelcomeMessage "\r\nAmigaTronix Line 1\r\nTHERE IS NO
  171.                  BBS HERE!\r\nDo not Login:" 
  172.                  Login "uucp:c/login -asdg -D%d -U%u \"%s\"" 
  173.                  YesLogin 
  174.  
  175.           As you can see, the WelcomeMessage includes the text 'ogin:'
  176.           which is the standard text  that  any  UUCP  site  would  be
  177.           looking  for  (Please  read the documentation on Send-Expect
  178.           scripts in the UUCP documentation).  After the line has been
  179.           accepted (The user hit return) the Login  command  would  be
  180.           run.   The login command currently takes 1 required argument
  181.           (The user name) and also has a few optional keywords.  
  182.  
  183.  
  184.                -›1mA›0m[›1msdg›0m] is used if you are using an  ASDG  duel  serial
  185.           board.   This  keyword is required as the Login program must
  186.           be able to hang up after a caller  is  finished.    If  this
  187.           keyword  is  not  included, it is assumes that the system is
  188.           using the serial.device and will  handle  the  internal  DTR
  189.           directly.  
  190.  
  191.                -›1mb›0m[›1maud›0m]  is used if you wish to pass the Modem<-->Modem
  192.           baud rate to login.  This is used for the '%B'  substitution
  193.           within command lines in the password file.  
  194.  
  195.  
  196.  
  197.                                       -3-
  198.  
  199.  
  200.                         Exerpt from Welmat Users Manual         Login V0.20
  201.  
  202.  
  203.                -›1mL›0m[›1mower›0m]  is used to force all the login names typed to
  204.           lower case.  This is required if you wish to have the  login
  205.           names case-insensitive.    One would then have all the login
  206.           names in lower case in the password file.  Please note  that
  207.           the passwords themselves are still case sensitive.  
  208.  
  209.                -›1mD›0m<›1mdevice›0m> is  used to specify the device.  The default
  210.           is "serial.device".  
  211.  
  212.                -›1mU›0m<›1munit›0m> is used to  specify  the  unit  number.    The
  213.           default is unit 0.  
  214.  
  215.                -›1mO›0m<›1mlog  path›0m>  is  used  to  specify the output LogFile
  216.           name.    Under   AmigaUUCP   this    would    normally    be
  217.           UUSPOOL:LOGFILE.  The  default  is  unit  login.log  in  the
  218.           current directory.  
  219.  
  220.                -›1mP›0m<›1mpasswd path›0m> is used to specify the pathname of  the
  221.           password file.    Under  AmigaUUCP  this  would  normally be
  222.           UULIB:PASSWD.  The  default  is  PASSWD   in   the   current
  223.           directory.  
  224.  
  225.  
  226.  
  227.                The  only required parameter is the single line of text
  228.           that the user typed in as it was accepted by Welmat.  In  my
  229.           example,  I  use  quotation  marks since the user might have
  230.           typed a space in his user name.  As you  will  also  notice,
  231.           the  quotation  marks  have  to  be preceeded by a Slash '\'
  232.           character.  This is because a quotation  within  the  config
  233.           file would  normally end the string.  Since we want ›1mWcompile
  234.           ›0mto actually include the quotation mark, we must  escape  the
  235.           special meaning of those quotes.  
  236.  
  237.                As  mentioned, the Login program is a direct derivative
  238.           of the Getty program supplied with the Amiga UUCP. There are
  239.           some very small differences in the  ›1muulib›0m:›1mpasswd  ›0mfile  from
  240.           the released information.  The file has the following form: 
  241.  
  242.           User   ,Password   ,Uid  ,GroupId  ,(Finger-Info)  ,Home-Dir
  243.           ,Command-To-Run 
  244.  
  245.  
  246.             ›1mUser ›0muser name, up to 8  characters.    With  the  current
  247.                version  of Login, if you are running AmigaDos 2.0, the
  248.                User field may contain an AmigaDos pattern  (Just  like
  249.                with Filenames).  
  250.  
  251.             ›1mPassword  ›0mpassword,  up  to  8  characters  (uncrypted for
  252.                now).  A password of '*' means that no password will be
  253.                prompted for.  A  password  of  '**'  would  cause  the
  254.                password to be asked for, but not actually checked (For
  255.                use for things like Anonymous Logins/etc).  
  256.  
  257.             ›1mUid ›0munique numerical id (don't use 0 please), this WILL be
  258.                used by  some  programs to find password entries.  Give
  259.                each entry a different UID.  
  260.  
  261.  
  262.  
  263.                                       -4-
  264.  
  265.  
  266.                         Exerpt from Welmat Users Manual         Login V0.20
  267.  
  268.  
  269.             ›1mGroupId ›0mnot currently used, set to 2 (don't use 0).  
  270.  
  271.             ›1mFinger ›0mFinger information (your name).  Future sub  fields
  272.                within  the  finger  information  will  be separated by
  273.                colons (:).  
  274.  
  275.             ›1mHome›0m-›1mDir ›0mDirectory from which to run the command 
  276.  
  277.             ›1mCommand ›0mCommand to run.  Command is run with arguments you
  278.                specify plus: 
  279.  
  280.                -GETTY -DEVICE devicename -UNIT unitname 
  281.  
  282.                Where the devicename and unitname together  make  up  a
  283.                serial  port  which  the command should use for further
  284.                communications.  stdin and stdout are set to NULL:,  as
  285.                is the console handler.  
  286.  
  287.                     If  you place a few special characters in front of
  288.                the Command-To-Run, special things will happen.  
  289.  
  290.                     If command-to-run is prefaced  with  a  '*'  Login
  291.                will  open the UUSER: device for stdin and stdout and a
  292.                read-timeout of  1  second.    The  UUSER:  handler  is
  293.                supplied with Amiga UUCP.  
  294.  
  295.                      If you preface the command with a '$' , the Login
  296.                will  not  hang  up  on  the  caller  after the command
  297.                returns.  
  298.  
  299.                     If a '<' is used, the command is taken to  be  the
  300.                filename of a text file to display to the user.  
  301.  
  302.                      If  you  preface  the  command with a '#' , Login
  303.                will NOT do any re-direction, and will  just  send  the
  304.                command  line  exactly  as  it is given in the Password
  305.                file.  This mode is included  to  allow  BBS  users  to
  306.                create   their   own   command   line   that  might  be
  307.                in-compatable with ones automatically created.  
  308.  
  309.                      Please note that any  combination  of  the  above
  310.                special characters can be used.  
  311.  
  312.  
  313.             ›1mSpecial Command›0m-›1mLine Substitutions›0m.  
  314.  
  315.                  Login   supports   substituting  various  information
  316.                anywhere in the command string to allow one  to  create
  317.                their own  command  lines.    All the substitutions are
  318.                specified by using a '%' followed by a character.   The
  319.                following subsitutions are currently supported: 
  320.  
  321.                %b - Baudrate of connection (Modem<-->Computer).  
  322.                %B - Baudrate of caller (Modem<-->Modem).  
  323.                %l - Login Name (What the user typed).  
  324.                %f - Serial Flags.  
  325.                %p - Password typed in by user.  
  326.                %s - Serial Device (EG: serial.device).  
  327.  
  328.  
  329.                                       -5-
  330.  
  331.  
  332.                         Exerpt from Welmat Users Manual         Login V0.20
  333.  
  334.  
  335.                %u - Unit number.  
  336.  
  337.  
  338.                     Here are a few example entries: 
  339.             # Put any comment here 
  340.             # 
  341.             #          User,Password,Uid,GroupId,Finger-Info,Home-Dir,
  342.             ommand-To-Run 
  343.             info,*,100,3,Display Info File,ram:,<uulib:Info-Text 
  344.             ; This will display a text file to the user.  
  345.             user,*,105,3,USER Login,uucp:pub/,$*uucp:c/rshell  Unknown
  346.             0 
  347.             ;  this  would  allow  the user to log into the Restricted
  348.             Shell.  
  349.             bye,*,106,3,exit,ram:,*uucp:empty 
  350.             ; This would just hang up on the caller (uucp:empty is  an
  351.             empty script) 
  352.             bbs,*,1,3,BBS,bbs:,#bbs:c/MyFancyBBS  %b  -DEVICE %d -UNIT
  353.             %u 
  354.             TransAmiga,*,69,69,(TransAmiga    BBS),SYS:,#TA:TransAmiga
  355.             Trans.Config %b 
  356.             TransFast,*,69,69,(TransAmiga w/ LOCK),SYS:,#TA:TransAmiga
  357.             Trans.Config %B %b 
  358.             ; 
  359.             ; TA:TransAmiga Trans.Config 38400 2400 
  360.             ; ^^^^^ ^^^^ 
  361.             ; serial real 
  362.             uujulie,mikepass,204,3,UUCP-JULIE,ram:,uucp:c/u cico 
  363.             ; this would allow Julie to log in to do a uucp session.  
  364.             #?  #?,*,2,3,Firstname Lastname,uulib:,<SpaceInName 
  365.             ;  *AmigaDos  2.0  Only*  this would display the text file
  366.             "uulib:spaceinname" if a username with at least one  space
  367.             character was typed.  
  368.             test,*,100,100,(test),c:,#echo  >t:a  "baud=%b  %B  ser=%s
  369.             unit=%u flag=%f Name=%l Pas=%p" 
  370.             test1,**,100,100,(test),c:,#echo >t:a "baud=%b  %B  ser=%s
  371.             unit=%u flag=%f Name=%l Pas=%p" 
  372.  
  373.  
  374.  
  375.                     Again,  for  full  documentation on the Amiga UUCP
  376.                package, please consult the documentation supplied with
  377.                these packages.  The use of the Login  command  is  not
  378.                limited to just UUCP itself.  One could very easily set
  379.                up  an  'account' called BBS that would run the BBS. It
  380.                could also very easily set up more than one BBS package
  381.                at the same time, and allow the users to  choose  which
  382.                BBS they wish to log into.  
  383.  
  384.                     Notes:  Login  uses  a few handlers that should be
  385.                mentioned.  A handler called  'NULL:'  (Different  from
  386.                NIL:)  must  be mounted (This handler is available from
  387.                1:163/109 as 'NULL.ZOO'), and if you wish  to  use  the
  388.                '*'  special  character  for the command, you must have
  389.                the 'UUSER:' handler mounted.(In the future  this  will
  390.                make use of the FIFO: and fifo.library instead.) 
  391.  
  392.  
  393.  
  394.  
  395.                                       -6-
  396.  
  397.